$(document).ready(function(){
    $(".symbiosis-button-add").click(function(){
        sym_page_labels_add();
    });
    $(".sym_labels li")
    .mouseover(function(){
        $(this).addClass('ui-state-default');
        $(this).css({
            'background-image': 'none',
            'border':'none',
            'font-weight': 'normal',
            'color': 'black'
        });
    })
    .mouseout(function(){
        $(this).removeClass('ui-state-default');
    });
    $(".sym_labels_value").click(function(){
        sym_page_labels_edit(this);
    });
    $(".sym_labels label").click(function(){
        var con=$(this).parent().find('ul:first');
        if(con.css('display')=='none'){
            con.show();
        }
        else{
            con.hide();
        }
        return false;
    });
    $('#sym_labels_show').click(function(){
        $(this).hide();
        $('#sym_labels_hide').show();
        $(this).parent().parent().find('ul li ul').show();
        return false;
    });
    $('#sym_labels_hide').click(function(){
        $(this).hide();
        $('#sym_labels_show').show();
        $(this).parent().parent().find('ul li ul').hide();
        return false;
    });
    $('.sym_labels .import').click(function(){
        if($('#sym_labels_import').length){
            $('#sym_labels_import').dialog("open");
        }
        else{
            $('#windows').append('<div id="sym_labels_import" title="Labels importing"></div>');
            $('#sym_labels_import').dialog({
                modal: true,
                open: function(event, ui) {
                    $.ajax({
                        data:{
                            symbiont: 'labels.import'
                        },
                        success:function(r){
                            $('#sym_labels_import').html(r).sym();
                            $('#sym_labels_import form').submit(function(){
                                $.ajaxFileUpload({
                                    url:'?page=$&upload&name=file&dir=uploads/temp/',
                                    secureuri:false,
                                    fileElementId:'sym_labels_import_file',
                                    dataType: 'json',
                                    success: function (data, status){
                                        if(typeof(data.error) != 'undefined'){
                                            if(data.error != ''){
                                                alert(data.error);
                                            }
                                            else{
                                                $.ajax({
                                                    data:{
                                                        'symbiont': 'labels.db_import',
                                                        'name': 'uploads/temp/'+data.name
                                                    },
                                                    success:function(r){
                                                        if(r.ok!=undefined){
                                                            $(t).dialog("close");
                                                            location.reload(true);
                                                        }
                                                        else if(r.error!=undefined){
                                                            $('#sym_labels_import .message').addClass('ui-state-error').html(r.error);
                                                        }
                                                    }
                                                });
                                            }
                                        }
                                    },
                                    error: function (data, status, e){
                                        alert(e);
                                    }
                                });
                                return false;
                            });
                        },
                        dataType: 'html'
                    });
                },
                clse: function(event, ui) {
                    $(this).html('');
                },
                buttons:{
                    "Cencel":function(){
                        $(this).dialog("close");
                    },
                    "Ok":function(){
                        $('#sym_labels_import form').submit();
                        //$(this).dialog("close");
                    }
                }
            });
        }
    });
});
function sym_page_labels_edit(label){
    $(label)
    .css({'display':'none'})
    .after('<input id="value" />');
    $('#value')
    .val($(label).html())
    .select()
    .blur(function(){
        var input=this;
        var id=$(label).parent().find('.sym_labels_id').html();
        var name=$(label).parent().find('.sym_labels_name').html();
        var abbr=$(label).parent().find('.sym_labels_abbr').html();
        var value=$(input).val();
        $(label)
        .css({'display':'block'});
        if($(input).val()&&$(input).val()!=$(label).html()){
            $(label).html($(input).val());
            $.post("$/", {
                'symbiont':'labels.ajax_edit',
                'id':id,
                'name':name,
                'abbr':abbr,
                'value':value
            });
        }
        $(this).remove();
        if(value=='-'){
            l=$(label);
            do{
                l=l.parent();
                x=l.parent();
                l.remove();
                l=x;
            }
            while(l.html()==''&&!l.hasClass('labels'));
            
        }
    })
    .lkey('enter', function(){
        $(this).blur();
    });
}
function sym_page_labels_add(){
    if($('#sym_labels_add').length){
        $('#sym_labels_add').dialog("open");
    }
    else{
        $('#windows').append('<div id="sym_labels_add" title="Add a label"></div>');
        $('#sym_labels_add').dialog({
            modal: true,
            open: function(event, ui) {
                $.ajax({
                    data:{
                        symbiont: 'labels.add'
                    },
                    success:function(r){
                        $('#sym_labels_add').html(r).sym();
                        $('.sym_labels_add .tabs')
                        .tabs();
                    },
                    dataType: 'html'
                });
            },
            clse: function(event, ui) {
                $(this).html('');
            },
            buttons:{
                "Cencel":function(){
                    $(this).dialog("close");
                },
                "Ok":function(){
                    var name=$('.sym_labels_add .name').val();
                    var values={};
                    $('.sym_labels_add .value').each(function(){
                        values[$(this).attr('title')]=$(this).val();
                    });
                    if(name){
                        $.ajax({
                            data:{
                                'symbiont': 'labels.db_add',
                                'name':name,
                                'values':values
                            },
                            success:function(r){
                                if(r.ok!=undefined){
                                    location.reload(true);
                                }
                            },
                            error:function(r){
                                alert(r);
                            }
                        });
                    }
                    $(this).dialog("close"); 
                }
            }
        });
    }
}